<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>静态与实例方法共享设计</title>
</head>
<body>
     <script>
        /** 
         * aJquery工厂函数内部返回一个实例，该实例的构造函数是 init (构造函数) ，实现了无new操作
         * init 函数是 aJquery 原型上的一个方法
         * aJquery.fn.init.prototype = aJquery.fn = aJquery.prototype
         */ 
        var $ = aJquery = function(selector) {
            return new aJquery.fn.init(selector)
        }

        aJquery.fn = aJquery.prototype = {
            constructor: aJquery,
            init: function(selector) {
                this.selector = selector
                return this
            }
        }

        // *** 将aJquery的原型赋值给init的原型 （巧妙的设计）***
        aJquery.fn.init.prototype = aJquery.fn

     </script>   
</body>
</html>